Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / tests / backend / test_lxmf_stamp_enforcement_wiring.py

Displaying Raw • Download


tests/backend/test_lxmf_stamp_enforcement_wiring.py dev (dafd52a7) Text, 2.00 KB

T8b949e# SPDX-License-Identifier: 0BSD

T8b949e"""Regression: inbound stamp cost must enable LXMF stamp enforcement."""

Tff7b72from T7ee787unittestT7ee787.T7ee787mock Tff7b72import Te6edf3MagicMock

Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787identity_context Tff7b72import Te6edf3IdentityContext


Tff7b72def Td2a8fftest_identity_context_enforces_stamps_when_inbound_cost_positiveTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3app Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3appTff7b72.Td2a8ffstorage_dir Tff7b72= Ta5d6ff"Ta5d6ff/tmp/unusedTa5d6ff"
Te6edf3identity Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3identityTff7b72.Td2a8ffhash Tff7b72= Ta5d6ffbTa5d6ff"Tffea00\x11Ta5d6ff" Tff7b72* T79c0ff16

Te6edf3ctx Tff7b72= Te6edf3IdentityContextTff7b72.Td2a8ff__new__Tb4b4b4(Te6edf3IdentityContextTb4b4b4)
Te6edf3ctxTff7b72.Td2a8ffapp Tff7b72= Te6edf3app
Te6edf3ctxTff7b72.Td2a8ffidentity Tff7b72= Te6edf3identity
Te6edf3ctxTff7b72.Td2a8ffidentity_hash Tff7b72= Te6edf3identityTff7b72.Td2a8ffhashTff7b72.Td2a8ffhexTb4b4b4(Tb4b4b4)
Te6edf3ctxTff7b72.Td2a8ffconfig Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3ctxTff7b72.Td2a8ffconfigTff7b72.Td2a8ffblock_all_from_strangersTff7b72.Td2a8ffgetTff7b72.Td2a8ffreturn_value Tff7b72= Tff7b72False
Te6edf3ctxTff7b72.Td2a8ffconfigTff7b72.Td2a8fflxmf_inbound_stamp_costTff7b72.Td2a8ffgetTff7b72.Td2a8ffreturn_value Tff7b72= T79c0ff8
Te6edf3ctxTff7b72.Td2a8ffconfigTff7b72.Td2a8ffdisplay_nameTff7b72.Td2a8ffgetTff7b72.Td2a8ffreturn_value Tff7b72= Ta5d6ff"Ta5d6ffTestTa5d6ff"
Te6edf3ctxTff7b72.Td2a8ffmessage_router Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3dest Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3destTff7b72.Td2a8ffhash Tff7b72= Ta5d6ffbTa5d6ff"Tffea00\x22Ta5d6ff" Tff7b72* T79c0ff16
Te6edf3ctxTff7b72.Td2a8ffmessage_routerTff7b72.Td2a8ffregister_delivery_identityTff7b72.Td2a8ffreturn_value Tff7b72= Te6edf3dest

T8b949e# Run only the stamp wiring fragment used after router creation.
Te6edf3inbound_stamp_cost Tff7b72= Te6edf3ctxTff7b72.Td2a8ffconfigTff7b72.Td2a8fflxmf_inbound_stamp_costTff7b72.Td2a8ffgetTb4b4b4(Tb4b4b4)
Te6edf3ctxTff7b72.Td2a8fflocal_lxmf_destination Tff7b72= Te6edf3ctxTff7b72.Td2a8ffmessage_routerTff7b72.Td2a8ffregister_delivery_identityTb4b4b4(
Te6edf3identityTff7b72=Te6edf3ctxTff7b72.Td2a8ffidentityTb4b4b4,
Te6edf3display_nameTff7b72=Te6edf3ctxTff7b72.Td2a8ffconfigTff7b72.Td2a8ffdisplay_nameTff7b72.Td2a8ffgetTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3stamp_costTff7b72=Te6edf3inbound_stamp_costTb4b4b4,
Tb4b4b4)
Tff7b72if Tffa657isinstanceTb4b4b4(Te6edf3inbound_stamp_costTb4b4b4, Tffa657intTb4b4b4) Tff7b72and Te6edf3inbound_stamp_cost Tff7b72> T79c0ff0Tb4b4b4:
Te6edf3ctxTff7b72.Td2a8ffmessage_routerTff7b72.Td2a8ffenforce_stampsTb4b4b4(Tb4b4b4)
Tff7b72elif Tffa657hasattrTb4b4b4(Te6edf3ctxTff7b72.Td2a8ffmessage_routerTb4b4b4, Ta5d6ff"Ta5d6ffignore_stampsTa5d6ff"Tb4b4b4)Tb4b4b4:
Te6edf3ctxTff7b72.Td2a8ffmessage_routerTff7b72.Td2a8ffignore_stampsTb4b4b4(Tb4b4b4)

Te6edf3ctxTff7b72.Td2a8ffmessage_routerTff7b72.Td2a8ffenforce_stampsTff7b72.Td2a8ffassert_called_onceTb4b4b4(Tb4b4b4)
Te6edf3ctxTff7b72.Td2a8ffmessage_routerTff7b72.Td2a8ffignore_stampsTff7b72.Td2a8ffassert_not_calledTb4b4b4(Tb4b4b4)


Tff7b72def Td2a8fftest_identity_context_ignores_stamps_when_inbound_cost_zeroTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3ctx_router Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3inbound_stamp_cost Tff7b72= T79c0ff0
Tff7b72if Tffa657isinstanceTb4b4b4(Te6edf3inbound_stamp_costTb4b4b4, Tffa657intTb4b4b4) Tff7b72and Te6edf3inbound_stamp_cost Tff7b72> T79c0ff0Tb4b4b4:
Te6edf3ctx_routerTff7b72.Td2a8ffenforce_stampsTb4b4b4(Tb4b4b4)
Tff7b72elif Tffa657hasattrTb4b4b4(Te6edf3ctx_routerTb4b4b4, Ta5d6ff"Ta5d6ffignore_stampsTa5d6ff"Tb4b4b4)Tb4b4b4:
Te6edf3ctx_routerTff7b72.Td2a8ffignore_stampsTb4b4b4(Tb4b4b4)
Te6edf3ctx_routerTff7b72.Td2a8ffignore_stampsTff7b72.Td2a8ffassert_called_onceTb4b4b4(Tb4b4b4)
Te6edf3ctx_routerTff7b72.Td2a8ffenforce_stampsTff7b72.Td2a8ffassert_not_calledTb4b4b4(Tb4b4b4)


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────